paramAnalyzer = $paramAnalyzer; } /** * @return array */ public function resolve(ClassMethod $classMethod) : array { /** @var array $unusedParameters */ $unusedParameters = []; foreach ($classMethod->params as $i => $param) { // skip property promotion /** @var Param $param */ if ($param->flags !== 0) { continue; } if ($this->paramAnalyzer->isParamUsedInClassMethod($classMethod, $param)) { continue; } $unusedParameters[$i] = $param; } return $unusedParameters; } }